package com.tofacebook.proxy.daili;

import com.tofacebook.proxy.model.Emp;
import com.tofacebook.proxy.service.EmpService;
import lombok.extern.slf4j.Slf4j;

/**
 * 静态代理  就是说我们知道要代理目标接口很明确
 */
@Slf4j
public class EmpStaticProxy implements EmpService{

    //要代理的接口
    private EmpService empService;

    //通过有参的构造方实例化EmpService这个接口对应的实现类
    public EmpStaticProxy(EmpService empService) {
        this.empService = empService;
    }

    public int saveEmpInfo(Emp emp) {
        //日志信息放在静态代理实现类中
        log.info("操作之前：{}",emp);
        //访问主体的业务代码开始-------------------
        int num = empService.saveEmpInfo(emp);
        //访问主体的业务代码结束--------------------
        log.info("操作之后：{}",emp);
        return num;
    }

    public Emp queryEmpByEmpId(Long empId) {
        log.info("操作之前：{}",empId);
        Emp emp = empService.queryEmpByEmpId(empId);
        log.info("操作之后：{}",emp);
        return emp;
    }
}
